package cn.etg.day08;
/**
 * 对myfile.txt文件进行复制操作，要求使用异常捕获
 * 机制对流的异常进行捕获和处理，finally中
 * 要将流关闭
 * @author Xiloer
 *
 */
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Test01 {
    public static void main(String[] args) {
        // 定义源文件和目标文件的路径
        String sourceFile = "myfile.txt";
        String targetFile = "myfile_copy.txt";

        // 创建FileInputStream和FileOutputStream对象
        FileInputStream fis = null;
        FileOutputStream fos = null;

        try {
            // 初始化输入输出流
            fis = new FileInputStream(sourceFile);
            fos = new FileOutputStream(targetFile);

            // 读取源文件并写入目标文件
            int data;
            while ((data = fis.read()) != -1) {
                fos.write(data);
            }
        } catch (IOException e) {
            // 捕获并处理异常
            e.printStackTrace();
        } finally {
            // 关闭流
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}